home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODF & Cyberdog / ODFCyberLibrary / Sources / SLCyPart.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  5.5 KB  |  122 lines  |  [TEXT/MPS ]

  1. //-----------------------------------------------------------------------------
  2. //    SLCyPart.h
  3. //    Callback struct for FW_OCyberPartExtension.
  4. //    See FWCyber.doc for theory and operation.
  5. //
  6. //    Copyright (c) 1995 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //-----------------------------------------------------------------------------
  8.  
  9. #ifndef _FW_SCyberPartExtensionCallbacks_
  10. #define _FW_SCyberPartExtensionCallbacks_
  11.  
  12. // There's some question over whether we need to use UPPs when defining
  13. // callbacks from SOM objects into our code. We don't think so, and since
  14. // UPPs result in lost type information, we're not using them.
  15. // The UPPs are not being maintained.
  16. #define FW_CyberUseUPPsFlag        0
  17.  
  18. #include <som.xh>
  19. #include <CyberItem.xh>    // CyberItemList
  20. #if FW_CyberUseUPPsFlag
  21. #include <MixedMode.h>
  22. #endif
  23.  
  24. struct Environment;
  25. struct FW_SCyberPartExtensionCallbacks;
  26. class ODFrame;
  27. class CyberItem;
  28. class ParameterSet;
  29.  
  30. #if FW_CyberUseUPPsFlag
  31.  
  32. enum {
  33.     FW_kDoCyberCommandInfo = kCStackBased
  34.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  35.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  36.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))),
  37.         | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ODFrame*))),
  38.         | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(somToken))),
  39.     FW_kOpenCyberItemInfo = kCStackBased
  40.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  41.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  42.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
  43.         | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ODPart*))),
  44.         | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(ParameterSet*))),
  45.     FW_kSetCyberItemInfo = kCStackBased
  46.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  47.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  48.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
  49.         | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ParameterSet*))),
  50.     FW_kShowCyberItemInfo = kCStackBased
  51.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  52.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  53.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
  54.     FW_kIsSelectedURLInfo = kCStackBased
  55.         | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
  56.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  57.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  58.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
  59.     FW_kGetSelectedURLInfo = kCStackBased
  60.         | RESULT_SIZE(SIZE_CODE(sizeof(corbastring)))
  61.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  62.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  63.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
  64.     FW_kIsSelectedCyberItemInfo = kCStackBased
  65.         | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
  66.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  67.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  68.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
  69.     FW_kAcquireSelectedCyberItemsInfo = kCStackBased
  70.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  71.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
  72.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
  73.         | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(CyberItemList*))),
  74.     FW_kGetCyberItemWindowInfo = kCStackBased
  75.         | RESULT_SIZE(SIZE_CODE(sizeof(ODWindow*)))
  76.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
  77.         | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*)))
  78.         | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*)))
  79. };
  80.  
  81. #endif
  82.  
  83. // Since this structure is part of the FW_OCyberPartExtension API, and
  84. // may be compiled into a shared library, it needs to have compiler-
  85. // independent alignment.
  86.  
  87. #if PRAGMA_ALIGN_SUPPORTED
  88. #pragma options align=mac68k
  89. #endif
  90. struct FW_SCyberPartExtensionCallbacks {
  91. #if !FW_CyberUseUPPsFlag
  92.     void             (*openCyberItem)         (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*, ODPart*, ParameterSet*);
  93.     void             (*setCyberItem)         (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*, ParameterSet*);
  94.     ODBoolean         (*canShowCyberItem)        (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
  95.     void             (*showCyberItem)         (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
  96.     ODWindow*         (*getCyberItemWindow)     (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
  97.     ODBoolean         (*isCyberItemSelected)     (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*);
  98.     void             (*acquireSelectedCyberItems) (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*, CyberItemList*);
  99.     ODBoolean        (*isURLSelected)         (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*);
  100.     void             (*getSelectedURL)         (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*, FW_CString& url);
  101.     ODBoolean         (*handleCommand)         (Environment*, FW_SCyberPartExtensionCallbacks*, long, long, ODFrame*, somToken);
  102.     void             (*extensionRemoved)        (Environment*, FW_SCyberPartExtensionCallbacks*);
  103. #else
  104. #    error obsolete
  105.     UniversalProcPtr    doCyberCommand;
  106.     UniversalProcPtr    openCyberItem;
  107.     UniversalProcPtr    setCyberItem;
  108.     UniversalProcPtr    showCyberItem;
  109.     UniversalProcPtr    isSelectedURL;
  110.     UniversalProcPtr    getSelectedURL;
  111.     UniversalProcPtr    isSelectedCyberItem;
  112.     UniversalProcPtr    acquireSelectedCyberItems;
  113.     UniversalProcPtr    getCyberItemWindow;
  114. #endif
  115. };
  116. #if PRAGMA_ALIGN_SUPPORTED
  117. #pragma options align=reset
  118. #endif
  119.  
  120. #endif // _FW_SCyberPartExtensionCallbacks_
  121.  
  122.